Skip to content

feat: OpenClaw SecretRef exec provider with audit metadata hints (v0.15.2)#14

Merged
tick10 merged 11 commits into
mainfrom
feature/openclaw-exec-provider
Jul 20, 2026
Merged

feat: OpenClaw SecretRef exec provider with audit metadata hints (v0.15.2)#14
tick10 merged 11 commits into
mainfrom
feature/openclaw-exec-provider

Conversation

@tick10

@tick10 tick10 commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Adds phoenix openclaw-exec-provider (aliases: secret-provider openclaw, resolve --stdin-json) implementing OpenClaw's exec SecretRef protocol v1 — stdin JSON request, stdout values/errors keyed by original ids, reusing existing bearer/mTLS/role-session/sealed-response auth paths.

The server captures five allowlisted X-OpenClaw-* headers as sanitized, audit-only metadata, with tests proving zero authorization effect (X-OpenClaw-Session-Key is never captured).

Also included:

  • Merge-review fixes: unsealed session mint when HOME is unavailable, empty-ids short-circuit, trailing-JSON rejection, Unicode format-control stripping in audit sanitization
  • Docs: three exec-provider auth modes, audit-header documentation, ACL /* vs /** glob semantics (with examples corrected across all docs), example listener defaulted to loopback with non-loopback TLS guidance
  • tests/e2e/: 18-scenario end-to-end suite (auto-discovered scenarios, JSONL/TAP output) covering lifecycle, ACL, attestation/mTLS, sealed responses, step-up, audit metadata, the OpenClaw exec protocol, 1Password backend, and in-place upgrade

Validation: full unit suite, 18/18 e2e scenarios including a 0.13.5→0.15.2 upgrade test, and a live OpenClaw gateway exercising both integration paths (exec provider bootstrap + runtime plugin) under a least-privilege token with a real model-mediated agent turn.

🤖 Generated with Claude Code

Aaron.ClaudeContainer and others added 11 commits April 27, 2026 00:44
- Mint unsealed sessions when the home directory cannot be determined
  and no PHOENIX_SEAL_KEY is set, instead of failing session mint.
- Short-circuit empty ids in the exec provider without a resolve call.
- Reject trailing non-whitespace data after the stdin JSON request.
- Strip Unicode format/bidi control characters (Cf) from OpenClaw
  audit metadata values.
- Add tests for sealed-envelope decrypt, non-200 responses, trailing
  data, empty ids, missing-HOME mint, and Cf sanitization.
- Bump version to 0.15.2 and add release notes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Restructure exec-provider auth guidance into three explicit modes
  (bootstrap token + role, mTLS + role, pre-minted session token) and
  call out the invalid PHOENIX_ROLE + phxs_ combination.
- Add HOME to the recommended passEnv example for per-role seal keys.
- Document the audit-only X-OpenClaw-* metadata headers and the
  deliberate exclusion of X-OpenClaw-Session-Key.
- Note signed resolve is unsupported in the exec-provider path and
  document phoenix openclaw-exec-provider as the canonical command.
- Update stale roadmap shipped-version heading.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ack TLS requirement

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…dit helper, escaped Unicode test literals

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@tick10
tick10 merged commit f7ff2dc into main Jul 20, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant